package com.hyper_yang.algorithmRecord.June;

import java.util.ArrayList;
import java.util.List;

// 2025.06.04 从盒子中找出字典序最大的字符串 I
public class LeetCode_3403 {
    /*
    给你一个字符串 word 和一个整数 numFriends。
    Alice 正在为她的 numFriends 位朋友组织一个游戏。游戏分为多个回合，在每一回合中：
    word 被分割成 numFriends 个 非空 字符串，且该分割方式与之前的任意回合所采用的都 不完全相同 。
    所有分割出的字符串都会被放入一个盒子中。
    在所有回合结束后，找出盒子中 字典序最大的字符串。
     */
    // 枚举:
    public String answerString(String word, int numFriends) {
        if (numFriends == 1) return word;
        String res = "";
        int n = word.length();
        for (int i = 0; i < n; i++) {
            // 每个朋友分一个，剩下 n - numFriends 找最大字典数
            String s = word.substring(i, Math.min(i + n - numFriends + 1, n));
            if (res.compareTo(s) < 0) {
                res = s;
            }
        }
        return res;
    }

    public static void main(String[] args) {
        LeetCode_3403 solution = new LeetCode_3403();
        System.out.println(solution.answerString("dbca", 2)); // dbc
        System.out.println(solution.answerString("gggg", 4)); // g
    }
}
